import random, math y_max = 1.0 / math.sqrt(2.0 * math.pi) x_cut = 5.0 n_data = 100000 data = [] n_accept = 0 while n_accept < n_data: y = random.uniform(0.0, y_max) x = random.uniform(-x_cut, x_cut) if y < math.exp( - x **2 / 2.0)/math.sqrt(2.0 * math.pi): n_accept += 1 data.append(x) if n_accept == n_data: break
You need to enable Javascript in your browser to edit pages.
help on how to format text